var dataTable, currentRow = 0;

$(document).ready(function () {
    dtInit();
    boxes();
    borrarModalInit();
    $('#left-panel li[data-nav="espacios"]').addClass('active');
})

function dtInit () {
    dataTable = $('#espacios').DataTable({
        processing: false,
        serverSide: true,
        stateSave: false,
        ajax: BASE_URL+'php/providers/espacios.provider.php',
        language: dtLanguage,
        columns: [
            { 'data': 'orden' },
            { 'data': 'titulo' },
            { 'data': 'descripcion' },
            { 'data': 'acciones' }
        ],
        fnDrawCallback: function( oSettings ) {
            borrar();
            sortable();
        },
        columnDefs: [
            { 
                sortable: false,
                targets: 3
            }
            
        ],
       order: [[ 0, "asc" ]]
    });
}

//sortable
function sortable () {
    var fixHelperModified = function(e, tr) {
        var $originals = tr.children();
        var $helper = tr.clone();
        $helper.children().each(function(index)
        {
            $(this).width($originals.eq(index).width())
        });
        return $helper;
    };
    var timeout;
    $("#espacios tr").css({cursor:'move'})
    $("#espacios tbody").sortable({
        helper: fixHelperModified,
        start: function () {
            clearTimeout(timeout)
        },
        stop: function () {
            clearTimeout(timeout)
            timeout = setTimeout(ordenarEspacios, 900);
            $('#espacios tbody tr').each(function (i) {
                $(this).find('td:first').html(i+1)
            })
        }
    }).disableSelection();
}

function ordenarEspacios () {
    var ids = [];
    $('#espacios tbody tr').each(function () {
        ids.push($(this).attr('id').replace(/[^0-9]+/, ''));
    })
    $.ajax({
        url: BASE_URL+'php/controllers/ordenarEspacios.controller.php',
        type:'post',
        data:{'ids': ids}
    })
}

//fin sortable

function borrar () {
    var id;
    $('.borrarEspacio').click(function (event) {
        id = $(this).attr('data-id');
        event.preventDefault();
        borrarModalInit();
        $('#myModal').modal('show');
        $('#myModal #modalAction').click(function () {
            $('#myModal .modal-footer button').unbind('click');
            loaderModalInit();
            $.ajax({
                type:'post',
                url: BASE_URL+'php/controllers/borrarEspacio.controller.php',
                data:{id:id},
                success: function (data) {
                    
                    $('#myModal').modal('hide');
                    if (data == 'error') {
                        boxError('No se puede borrar un espacio que tiene esquemas asignados. Borre los esquemas o as&iacute;gnelos a otro espacio.');
                    } else {
                        $('#row'+id).fadeOut(
                            500,
                            function () {
                                $('#row'+id).remove();
                                if ($('#espacios tbody tr').length == 0) {
                                    dataTable.ajax.reload();
                                }
                            }
                        )
                    }
                    
                }
            })
        })
    })
}

function borrarModalInit () {
    $('#myModal #myModalLabel .text').html('Borrar Espacio');
    $('#myModal #myModalLabel .jarviswidget-loader').hide();
    $('#myModal .modal-body').html('<p>¿Está seguro que desea borrar esta espacio?</p>');
    $('#myModal #modalAction').html('Borrar').addClass('btn-danger');
    $('#myModal .modal-footer button').attr('disabled', false);
}

function loaderModalInit () {
    $('#myModal #myModalLabel .jarviswidget-loader').show();
    $('#myModal .modal-body').html('<p>Por favor espere...</p>');
    $('#myModal .modal-footer button').attr('disabled', true);
}

function boxes () {
    if (document.location.hash == '#new') boxSuccess('El espacio se cargó con éxito');
    if (document.location.hash == '#edit') boxSuccess('El espacio se editó con éxito');
}